import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

import Antd, {message} from 'ant-design-vue';
import 'ant-design-vue/dist/reset.css';
import axios from 'axios';

const app = createApp(App)
app.use(router)
app.use(Antd)
app.config.productionTip = false

axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
const ajax = axios.create({
  baseURL: 'http://127.0.0.1:8081', // 这里设置你的基础URL
  timeout: 5000 // 请求超时时间
  // 你可以在这里添加更多axios的配置项
});

// 拦截请求
ajax.interceptors.request.use(
    config => {
        // 在发送请求前，获取新的 token
        const authorization = window.localStorage.getItem('token');
        if (authorization) {
            // 如果这两个字段存在，则添加到请求头
            config.headers.authorization = authorization;
        }
        return config;
    },
    error => {
        return Promise.reject(error);
    }
);


// 添加响应拦截器
ajax.interceptors.response.use(
  response => {
    if (response.data && response.data.code === 505) {
        message.error(response.data.msg);
        // 跳转至 /login
        setTimeout(window.location.href = '/login', 3000);
    }
    // 否则，正常返回响应数据
    return response;
  },
  error => {
    // 对响应错误做点什么
    return Promise.reject(error); // 拒绝这个promise
  }
);

app.mount('#app');
export default ajax;
